<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>EquTemper: CC_HDL2D Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="$relpath<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="$relpath<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>/search.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">EquTemper&#160;<span id="projectnumber">1.01</span></div>
   <div id="projectbrief">An equation editor.</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.4 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
<script type="text/javascript">
function hasClass(ele,cls) {
  return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
}

function addClass(ele,cls) {
  if (!this.hasClass(ele,cls)) ele.className += " "+cls;
}

function removeClass(ele,cls) {
  if (hasClass(ele,cls)) {
    var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
    ele.className=ele.className.replace(reg,' ');
  }
}

function toggleVisibility(linkObj) {
 var base = linkObj.getAttribute('id');
 var summary = document.getElementById(base + '-summary');
 var content = document.getElementById(base + '-content');
 var trigger = document.getElementById(base + '-trigger');
 if ( hasClass(linkObj,'closed') ) {
   summary.style.display = 'none';
   content.style.display = 'block';
   trigger.src = 'open.png';
   removeClass(linkObj,'closed');
   addClass(linkObj,'opened');
 } else if ( hasClass(linkObj,'opened') ) {
   summary.style.display = 'block';
   content.style.display = 'none';
   trigger.src = 'closed.png';
   removeClass(linkObj,'opened');
   addClass(linkObj,'closed');
 }
 return false;
}
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
      <li id="searchli">
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('class_c_c___h_d_l2_d.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="#friends">Friends</a>  </div>
  <div class="headertitle">
<div class="title">CC_HDL2D Class Reference</div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="CC_HDL2D" -->
<p>class representing the list header in a linked list system  
 <a href="class_c_c___h_d_l2_d.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="cc__l2d_8h_source.html">cc_l2d.h</a>&gt;</code></p>
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-0-trigger" src="closed.png"/> Inheritance diagram for CC_HDL2D:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="class_c_c___h_d_l2_d__inherit__graph.png" border="0" usemap="#_c_c___h_d_l2_d_inherit__map" alt="Inheritance graph"/></div>
<map name="_c_c___h_d_l2_d_inherit__map" id="_c_c___h_d_l2_d_inherit__map">
<area shape="rect" id="node3" href="class_e_t_undo_head.html" title="class representing the base of an undo&#45;redo system in a sheet" alt="" coords="5,83,107,112"/></map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<div id="dynsection-1" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-1-trigger" src="closed.png"/> Collaboration diagram for CC_HDL2D:</div>
<div id="dynsection-1-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-1-content" class="dyncontent" style="display:none;">
<div class="center"><img src="class_c_c___h_d_l2_d__coll__graph.png" border="0" usemap="#_c_c___h_d_l2_d_coll__map" alt="Collaboration graph"/></div>
<map name="_c_c___h_d_l2_d_coll__map" id="_c_c___h_d_l2_d_coll__map">
<area shape="rect" id="node2" href="class_c_c___l2_d.html" title="class representing the list element in a linked list system" alt="" coords="16,8,88,37"/></map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="class_c_c___h_d_l2_d-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_c___h_d_l2_d.html#a9dcdc67968e37d36c113993692a72096">CC_HDL2D</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">constructor;  <a href="#a9dcdc67968e37d36c113993692a72096"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_c___h_d_l2_d.html#a58a521d35c56a8e619949a8f92544561">~CC_HDL2D</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">destructor; will free resources;  <a href="#a58a521d35c56a8e619949a8f92544561"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_c___h_d_l2_d.html#ad7f13da7cd5f04cd344964f01aa8df15">erase</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">remove all items from this list by deleting them  <a href="#ad7f13da7cd5f04cd344964f01aa8df15"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_c___h_d_l2_d.html#a7e5da515643c374f40a8de89895c4185">setFirst</a> (<a class="el" href="class_c_c___l2_d.html">CC_L2D</a> *pNew)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">set first item  <a href="#a7e5da515643c374f40a8de89895c4185"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_c___h_d_l2_d.html#a21a47644de2fc07de436b3aa4e6e3885">setCount</a> (int iNew)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">set number of items  <a href="#a21a47644de2fc07de436b3aa4e6e3885"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_c_c___l2_d.html">CC_L2D</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_c___h_d_l2_d.html#a370a5232a03bda7e5d630ed693a1a868">first</a> (void) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">get first item  <a href="#a370a5232a03bda7e5d630ed693a1a868"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_c_c___l2_d.html">CC_L2D</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_c___h_d_l2_d.html#a94114064a2fdb3327e96eaa1884d0ec4">last</a> (void) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">get last item  <a href="#a94114064a2fdb3327e96eaa1884d0ec4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_c_c___l2_d.html">CC_L2D</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_c___h_d_l2_d.html#ad308ec502634bc352fd81c96ef228bd9">item</a> (int i) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">get nth item  <a href="#ad308ec502634bc352fd81c96ef228bd9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_c___h_d_l2_d.html#a54f56d39d65a96c776c5987dc74be22f">count</a> (void) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">get the number of items  <a href="#a54f56d39d65a96c776c5987dc74be22f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_c___h_d_l2_d.html#a45ba5eb64823f749c39b9dcd45ce5fa2">itemIndex</a> (const <a class="el" href="class_c_c___l2_d.html">CC_L2D</a> *pIt) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">returns the index of a particular item inside this chain  <a href="#a45ba5eb64823f749c39b9dcd45ce5fa2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_c___h_d_l2_d.html#aaeb4db2f81d36d3f0fbf6c9699198d50">has</a> (const <a class="el" href="class_c_c___l2_d.html">CC_L2D</a> *pIt) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">tell if an item is part of this chain  <a href="#aaeb4db2f81d36d3f0fbf6c9699198d50"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_c___h_d_l2_d.html#ab78dfc0bce9b02a8aefc0c38b9168597">append</a> (<a class="el" href="class_c_c___l2_d.html">CC_L2D</a> *pIt)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">append an item (insert after last)  <a href="#ab78dfc0bce9b02a8aefc0c38b9168597"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_c___h_d_l2_d.html#a824d3fa11e390a90f7bdff462e05e008">prepend</a> (<a class="el" href="class_c_c___l2_d.html">CC_L2D</a> *pIt)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">prepend an item (insert as first item)  <a href="#a824d3fa11e390a90f7bdff462e05e008"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_c___h_d_l2_d.html#a4f1cf5d696119fd72e4d92feeedd480d">insert</a> (<a class="el" href="class_c_c___l2_d.html">CC_L2D</a> *p_new, int index)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">insert a item at specified index  <a href="#a4f1cf5d696119fd72e4d92feeedd480d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_c___h_d_l2_d.html#a91794ce4d2229517a315352e531119d5">ackAdd</a> (<a class="el" href="class_c_c___l2_d.html">CC_L2D</a> *pNew)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">header is informed about an item being added  <a href="#a91794ce4d2229517a315352e531119d5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_c___h_d_l2_d.html#a334c5ce239278260dbb728fcc6351e85">remove</a> (int i)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">remove the item at given index  <a href="#a334c5ce239278260dbb728fcc6351e85"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_c___h_d_l2_d.html#ab462b19c0866a6e8b286112a840a79ac">remove</a> (<a class="el" href="class_c_c___l2_d.html">CC_L2D</a> *pIt)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">remove a particular item  <a href="#ab462b19c0866a6e8b286112a840a79ac"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_c___h_d_l2_d.html#ae7ab1efe5a1340f7fa28aa0074e69cc8">ackDel</a> (<a class="el" href="class_c_c___l2_d.html">CC_L2D</a> *pNew)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">header is informed about an item being deleted  <a href="#ae7ab1efe5a1340f7fa28aa0074e69cc8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_c___h_d_l2_d.html#a4aa8358cd1a165c0d97ebc0eb97f2841">dbgDump</a> (void) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">print the content of this object to debug output  <a href="#a4aa8358cd1a165c0d97ebc0eb97f2841"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class <a class="el" href="class_c_c___l2_d.html">CC_L2D</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_c___h_d_l2_d.html#a9504f80f8fc6dcec6f4a5195136f7d1f">Lip1</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">pointer to first element in list  <a href="#a9504f80f8fc6dcec6f4a5195136f7d1f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_c___h_d_l2_d.html#a1e42afea12d79391780a0a834d354bdc">iCnt</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">number of items that belong to this chain  <a href="#a1e42afea12d79391780a0a834d354bdc"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="friends"></a>
Friends</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_c___h_d_l2_d.html#a2ce450d68622f8aad2f17177597e31c2">CC_L2D</a></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>class representing the list header in a linked list system </p>
<h2><a class="anchor" id="overv"></a>
Overview</h2>
<p>These lists are simple chains of objects. Each list must have:</p>
<ul>
<li>a header (<a class="el" href="class_c_c___h_d_l2_d.html" title="class representing the list header in a linked list system">CC_HDL2D</a>) that holds a pointer to the first item</li>
<li>a number of 0 or more items that inherit from <a class="el" href="class_c_c___l2_d.html" title="class representing the list element in a linked list system">CC_L2D</a> (holding only a forward and a backward pointer).</li>
</ul>
<h2><a class="anchor" id="new_del"></a>
Creation and destruction</h2>
<p>The constructor for this class only initialises itself. No chain can be appended at the moment of creation. Destruction code makes use of the <a class="el" href="class_c_c___h_d_l2_d.html#ad7f13da7cd5f04cd344964f01aa8df15" title="remove all items from this list by deleting them">erase()</a> function to destroy all child elements (it assumes that the elements were allocated using new() and deletes them using delete).</p>
<p>The <a class="el" href="class_c_c___h_d_l2_d.html#ad7f13da7cd5f04cd344964f01aa8df15" title="remove all items from this list by deleting them">erase()</a> function is public and may be used at any time to clean the list and delete all items in it (freeing of memory included). Also, low level access to internal fields is allowed using <a class="el" href="class_c_c___h_d_l2_d.html#a7e5da515643c374f40a8de89895c4185" title="set first item">setFirst()</a> and <a class="el" href="class_c_c___h_d_l2_d.html#a21a47644de2fc07de436b3aa4e6e3885" title="set number of items">setCount()</a>;</p>
<h2><a class="anchor" id="retrieve_item"></a>
Retrieveing an item</h2>
<p>To get an item at a particular o based index use <a class="el" href="class_c_c___h_d_l2_d.html#ad308ec502634bc352fd81c96ef228bd9" title="get nth item">item()</a>. Firsta nad last items in the chain may be found using <a class="el" href="class_c_c___h_d_l2_d.html#a370a5232a03bda7e5d630ed693a1a868" title="get first item">first()</a> and <a class="el" href="class_c_c___h_d_l2_d.html#a94114064a2fdb3327e96eaa1884d0ec4" title="get last item">last()</a>.</p>
<h2><a class="anchor" id="informative"></a>
Informative functions</h2>
<p>To get the number of items that are hosted inside a chain use the <a class="el" href="class_c_c___h_d_l2_d.html#a54f56d39d65a96c776c5987dc74be22f" title="get the number of items">count()</a> function. To find out if the chain contains a particular pointer, feed it to the <a class="el" href="class_c_c___h_d_l2_d.html#aaeb4db2f81d36d3f0fbf6c9699198d50" title="tell if an item is part of this chain">has()</a> function, that returns true if the item was found. A similar function is <a class="el" href="class_c_c___h_d_l2_d.html#a45ba5eb64823f749c39b9dcd45ce5fa2" title="returns the index of a particular item inside this chain">itemIndex()</a>, that returns the 0 based index of a pointer or -1 if it was not found.</p>
<h2><a class="anchor" id="adding_it"></a>
Adding items</h2>
<p>Items may be <a class="el" href="class_c_c___h_d_l2_d.html#ab78dfc0bce9b02a8aefc0c38b9168597" title="append an item (insert after last)">append()</a> -ed, <a class="el" href="class_c_c___h_d_l2_d.html#a824d3fa11e390a90f7bdff462e05e008" title="prepend an item (insert as first item)">prepend()</a> -ed to the chain or <a class="el" href="class_c_c___h_d_l2_d.html#a4f1cf5d696119fd72e4d92feeedd480d" title="insert a item at specified index">insert()</a> -ed at a given, 0 based, index. It should be noted that none of these functions check if the item is already part of a chain. If the item is part of another chain, the caller is required to extract the item before the call.</p>
<p>If the caller already inserted the items into the chain, <a class="el" href="class_c_c___h_d_l2_d.html#a91794ce4d2229517a315352e531119d5" title="header is informed about an item being added">ackAdd()</a> function may be used to inform the header AFTER the insertion. The function will only update the counter and, if inserted item is first item, the pointer.</p>
<h2><a class="anchor" id="removing_it"></a>
Removing items</h2>
<p>To extract an item from the chain WITHOUT deleting the item, <a class="el" href="class_c_c___h_d_l2_d.html#a334c5ce239278260dbb728fcc6351e85" title="remove the item at given index">remove()</a> function is used. The caller may provide either the 0 based index or the pointer to the item to remove.</p>
<p>If the caller already removed the items from the chain, <a class="el" href="class_c_c___h_d_l2_d.html#ae7ab1efe5a1340f7fa28aa0074e69cc8" title="header is informed about an item being deleted">ackDel()</a> function may be used to inform the header AFTER the removal. The function will only update the counter and, if the item is first item, the pointer. It is expected that the item has it's internal fields intact (pointer to next item is used to replace internal pointer). </p>

<p>Definition at line <a class="el" href="cc__l2d_8h_source.html#l00126">126</a> of file <a class="el" href="cc__l2d_8h_source.html">cc_l2d.h</a>.</p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a9dcdc67968e37d36c113993692a72096"></a><!-- doxytag: member="CC_HDL2D::CC_HDL2D" ref="a9dcdc67968e37d36c113993692a72096" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CC_HDL2D::CC_HDL2D </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>constructor; </p>

<p>Definition at line <a class="el" href="cc__l2d_8h_source.html#l00162">162</a> of file <a class="el" href="cc__l2d_8h_source.html">cc_l2d.h</a>.</p>

</div>
</div>
<a class="anchor" id="a58a521d35c56a8e619949a8f92544561"></a><!-- doxytag: member="CC_HDL2D::~CC_HDL2D" ref="a58a521d35c56a8e619949a8f92544561" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CC_HDL2D::~CC_HDL2D </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>destructor; will free resources; </p>

<p>Definition at line <a class="el" href="cc__l2d_8cc_source.html#l00055">55</a> of file <a class="el" href="cc__l2d_8cc_source.html">cc_l2d.cc</a>.</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a91794ce4d2229517a315352e531119d5"></a><!-- doxytag: member="CC_HDL2D::ackAdd" ref="a91794ce4d2229517a315352e531119d5" args="(CC_L2D *pNew)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CC_HDL2D::ackAdd </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_c_c___l2_d.html">CC_L2D</a> *&#160;</td>
          <td class="paramname"><em>pNew</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>header is informed about an item being added </p>
<p>If the caller already inserted the items into the chain, this function may be used to inform the header AFTER the insertion. The function will only update the counter and, if inserted item is first item, the pointer. </p>

<p>Definition at line <a class="el" href="cc__l2d_8cc_source.html#l00163">163</a> of file <a class="el" href="cc__l2d_8cc_source.html">cc_l2d.cc</a>.</p>

</div>
</div>
<a class="anchor" id="ae7ab1efe5a1340f7fa28aa0074e69cc8"></a><!-- doxytag: member="CC_HDL2D::ackDel" ref="ae7ab1efe5a1340f7fa28aa0074e69cc8" args="(CC_L2D *pNew)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CC_HDL2D::ackDel </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_c_c___l2_d.html">CC_L2D</a> *&#160;</td>
          <td class="paramname"><em>pNew</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>header is informed about an item being deleted </p>
<p>If the caller already removed the items from the chain, <a class="el" href="class_c_c___h_d_l2_d.html#ae7ab1efe5a1340f7fa28aa0074e69cc8" title="header is informed about an item being deleted">ackDel()</a> function may be used to inform the header AFTER the removal. The function will only update the counter and, if the item is first item, the pointer. It is expected that the item has it's internal fields intact (pointer to next item is used to replace internal pointer). </p>

<p>Definition at line <a class="el" href="cc__l2d_8cc_source.html#l00179">179</a> of file <a class="el" href="cc__l2d_8cc_source.html">cc_l2d.cc</a>.</p>

</div>
</div>
<a class="anchor" id="ab78dfc0bce9b02a8aefc0c38b9168597"></a><!-- doxytag: member="CC_HDL2D::append" ref="ab78dfc0bce9b02a8aefc0c38b9168597" args="(CC_L2D *pIt)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CC_HDL2D::append </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_c_c___l2_d.html">CC_L2D</a> *&#160;</td>
          <td class="paramname"><em>pIt</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>append an item (insert after last) </p>
<p>It should be noted that this function does not check if the item is already part of a chain. If the item is part of another chain, the caller is required to extract the item before the call. </p>

<p>Definition at line <a class="el" href="cc__l2d_8cc_source.html#l00118">118</a> of file <a class="el" href="cc__l2d_8cc_source.html">cc_l2d.cc</a>.</p>

</div>
</div>
<a class="anchor" id="a54f56d39d65a96c776c5987dc74be22f"></a><!-- doxytag: member="CC_HDL2D::count" ref="a54f56d39d65a96c776c5987dc74be22f" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int CC_HDL2D::count </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get the number of items </p>

<p>Definition at line <a class="el" href="cc__l2d_8h_source.html#l00210">210</a> of file <a class="el" href="cc__l2d_8h_source.html">cc_l2d.h</a>.</p>

</div>
</div>
<a class="anchor" id="a4aa8358cd1a165c0d97ebc0eb97f2841"></a><!-- doxytag: member="CC_HDL2D::dbgDump" ref="a4aa8358cd1a165c0d97ebc0eb97f2841" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CC_HDL2D::dbgDump </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>print the content of this object to debug output </p>

<p>Definition at line <a class="el" href="cc__l2d_8cc_source.html#l00195">195</a> of file <a class="el" href="cc__l2d_8cc_source.html">cc_l2d.cc</a>.</p>

</div>
</div>
<a class="anchor" id="ad7f13da7cd5f04cd344964f01aa8df15"></a><!-- doxytag: member="CC_HDL2D::erase" ref="ad7f13da7cd5f04cd344964f01aa8df15" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CC_HDL2D::erase </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>remove all items from this list by deleting them </p>
<p>This function assumes that the <a class="el" href="class_c_c___l2_d.html" title="class representing the list element in a linked list system">CC_L2D</a> elements were allocated using new() and it deletes them using delete). </p>

<p>Definition at line <a class="el" href="cc__l2d_8cc_source.html#l00062">62</a> of file <a class="el" href="cc__l2d_8cc_source.html">cc_l2d.cc</a>.</p>

</div>
</div>
<a class="anchor" id="a370a5232a03bda7e5d630ed693a1a868"></a><!-- doxytag: member="CC_HDL2D::first" ref="a370a5232a03bda7e5d630ed693a1a868" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_c_c___l2_d.html">CC_L2D</a>* CC_HDL2D::first </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get first item </p>

<p>Reimplemented in <a class="el" href="class_e_t_undo_head.html#af622916c849ea25fa0a0612e2def8c80">ETUndoHead</a>.</p>

<p>Definition at line <a class="el" href="cc__l2d_8h_source.html#l00194">194</a> of file <a class="el" href="cc__l2d_8h_source.html">cc_l2d.h</a>.</p>

</div>
</div>
<a class="anchor" id="aaeb4db2f81d36d3f0fbf6c9699198d50"></a><!-- doxytag: member="CC_HDL2D::has" ref="aaeb4db2f81d36d3f0fbf6c9699198d50" args="(const CC_L2D *pIt) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool CC_HDL2D::has </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class_c_c___l2_d.html">CC_L2D</a> *&#160;</td>
          <td class="paramname"><em>pIt</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>tell if an item is part of this chain </p>

<p>Definition at line <a class="el" href="cc__l2d_8cc_source.html#l00108">108</a> of file <a class="el" href="cc__l2d_8cc_source.html">cc_l2d.cc</a>.</p>

</div>
</div>
<a class="anchor" id="a4f1cf5d696119fd72e4d92feeedd480d"></a><!-- doxytag: member="CC_HDL2D::insert" ref="a4f1cf5d696119fd72e4d92feeedd480d" args="(CC_L2D *p_new, int index)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CC_HDL2D::insert </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_c_c___l2_d.html">CC_L2D</a> *&#160;</td>
          <td class="paramname"><em>p_new</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>index</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>insert a item at specified index </p>
<p>It should be noted that this function does not check if the item is already part of a chain. If the item is part of another chain, the caller is required to extract the item before the call. </p>

<p>Definition at line <a class="el" href="cc__l2d_8cc_source.html#l00077">77</a> of file <a class="el" href="cc__l2d_8cc_source.html">cc_l2d.cc</a>.</p>

</div>
</div>
<a class="anchor" id="ad308ec502634bc352fd81c96ef228bd9"></a><!-- doxytag: member="CC_HDL2D::item" ref="ad308ec502634bc352fd81c96ef228bd9" args="(int i) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_c_c___l2_d.html">CC_L2D</a> * CC_HDL2D::item </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get nth item </p>

<p>Reimplemented in <a class="el" href="class_e_t_undo_head.html#a9491704c213d14311c82c121689d2969">ETUndoHead</a>.</p>

<p>Definition at line <a class="el" href="cc__l2d_8cc_source.html#l00088">88</a> of file <a class="el" href="cc__l2d_8cc_source.html">cc_l2d.cc</a>.</p>

</div>
</div>
<a class="anchor" id="a45ba5eb64823f749c39b9dcd45ce5fa2"></a><!-- doxytag: member="CC_HDL2D::itemIndex" ref="a45ba5eb64823f749c39b9dcd45ce5fa2" args="(const CC_L2D *pIt) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int CC_HDL2D::itemIndex </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class_c_c___l2_d.html">CC_L2D</a> *&#160;</td>
          <td class="paramname"><em>pIt</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>returns the index of a particular item inside this chain </p>
<p>The index is 0 based. If the pointer was not found inside the chain the function returns -1. </p>

<p>Definition at line <a class="el" href="cc__l2d_8cc_source.html#l00113">113</a> of file <a class="el" href="cc__l2d_8cc_source.html">cc_l2d.cc</a>.</p>

</div>
</div>
<a class="anchor" id="a94114064a2fdb3327e96eaa1884d0ec4"></a><!-- doxytag: member="CC_HDL2D::last" ref="a94114064a2fdb3327e96eaa1884d0ec4" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_c_c___l2_d.html">CC_L2D</a>* CC_HDL2D::last </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get last item </p>

<p>Reimplemented in <a class="el" href="class_e_t_undo_head.html#a93d7d667683c96503632d3444e464559">ETUndoHead</a>.</p>

<p>Definition at line <a class="el" href="cc__l2d_8h_source.html#l00199">199</a> of file <a class="el" href="cc__l2d_8h_source.html">cc_l2d.h</a>.</p>

</div>
</div>
<a class="anchor" id="a824d3fa11e390a90f7bdff462e05e008"></a><!-- doxytag: member="CC_HDL2D::prepend" ref="a824d3fa11e390a90f7bdff462e05e008" args="(CC_L2D *pIt)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CC_HDL2D::prepend </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_c_c___l2_d.html">CC_L2D</a> *&#160;</td>
          <td class="paramname"><em>pIt</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>prepend an item (insert as first item) </p>
<p>It should be noted that this function does not check if the item is already part of a chain. If the item is part of another chain, the caller is required to extract the item before the call. </p>

<p>Definition at line <a class="el" href="cc__l2d_8cc_source.html#l00130">130</a> of file <a class="el" href="cc__l2d_8cc_source.html">cc_l2d.cc</a>.</p>

</div>
</div>
<a class="anchor" id="ab462b19c0866a6e8b286112a840a79ac"></a><!-- doxytag: member="CC_HDL2D::remove" ref="ab462b19c0866a6e8b286112a840a79ac" args="(CC_L2D *pIt)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CC_HDL2D::remove </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_c_c___l2_d.html">CC_L2D</a> *&#160;</td>
          <td class="paramname"><em>pIt</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>remove a particular item </p>
<p>extract an item from the chain WITHOUT deleting the item </p>

<p>Definition at line <a class="el" href="cc__l2d_8cc_source.html#l00153">153</a> of file <a class="el" href="cc__l2d_8cc_source.html">cc_l2d.cc</a>.</p>

</div>
</div>
<a class="anchor" id="a334c5ce239278260dbb728fcc6351e85"></a><!-- doxytag: member="CC_HDL2D::remove" ref="a334c5ce239278260dbb728fcc6351e85" args="(int i)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CC_HDL2D::remove </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>remove the item at given index </p>
<p>extract an item from the chain WITHOUT deleting the item </p>

<p>Definition at line <a class="el" href="cc__l2d_8cc_source.html#l00142">142</a> of file <a class="el" href="cc__l2d_8cc_source.html">cc_l2d.cc</a>.</p>

</div>
</div>
<a class="anchor" id="a21a47644de2fc07de436b3aa4e6e3885"></a><!-- doxytag: member="CC_HDL2D::setCount" ref="a21a47644de2fc07de436b3aa4e6e3885" args="(int iNew)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CC_HDL2D::setCount </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>iNew</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>set number of items </p>

<p>Definition at line <a class="el" href="cc__l2d_8h_source.html#l00187">187</a> of file <a class="el" href="cc__l2d_8h_source.html">cc_l2d.h</a>.</p>

</div>
</div>
<a class="anchor" id="a7e5da515643c374f40a8de89895c4185"></a><!-- doxytag: member="CC_HDL2D::setFirst" ref="a7e5da515643c374f40a8de89895c4185" args="(CC_L2D *pNew)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CC_HDL2D::setFirst </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_c_c___l2_d.html">CC_L2D</a> *&#160;</td>
          <td class="paramname"><em>pNew</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>set first item </p>

<p>Definition at line <a class="el" href="cc__l2d_8h_source.html#l00182">182</a> of file <a class="el" href="cc__l2d_8h_source.html">cc_l2d.h</a>.</p>

</div>
</div>
<hr/><h2>Friends And Related Function Documentation</h2>
<a class="anchor" id="a2ce450d68622f8aad2f17177597e31c2"></a><!-- doxytag: member="CC_HDL2D::CC_L2D" ref="a2ce450d68622f8aad2f17177597e31c2" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">friend class <a class="el" href="class_c_c___l2_d.html">CC_L2D</a><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="cc__l2d_8h_source.html#l00134">134</a> of file <a class="el" href="cc__l2d_8h_source.html">cc_l2d.h</a>.</p>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="a1e42afea12d79391780a0a834d354bdc"></a><!-- doxytag: member="CC_HDL2D::iCnt" ref="a1e42afea12d79391780a0a834d354bdc" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="class_c_c___h_d_l2_d.html#a1e42afea12d79391780a0a834d354bdc">CC_HDL2D::iCnt</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>number of items that belong to this chain </p>

<p>Definition at line <a class="el" href="cc__l2d_8h_source.html#l00149">149</a> of file <a class="el" href="cc__l2d_8h_source.html">cc_l2d.h</a>.</p>

</div>
</div>
<a class="anchor" id="a9504f80f8fc6dcec6f4a5195136f7d1f"></a><!-- doxytag: member="CC_HDL2D::Lip1" ref="a9504f80f8fc6dcec6f4a5195136f7d1f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">class <a class="el" href="class_c_c___l2_d.html">CC_L2D</a>* <a class="el" href="class_c_c___h_d_l2_d.html#a9504f80f8fc6dcec6f4a5195136f7d1f">CC_HDL2D::Lip1</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>pointer to first element in list </p>

<p>Definition at line <a class="el" href="cc__l2d_8h_source.html#l00146">146</a> of file <a class="el" href="cc__l2d_8h_source.html">cc_l2d.h</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="cc__l2d_8h_source.html">cc_l2d.h</a></li>
<li><a class="el" href="cc__l2d_8cc_source.html">cc_l2d.cc</a></li>
</ul>
</div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="class_c_c___h_d_l2_d.html">CC_HDL2D</a>      </li>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

    <li class="footer">Generated on Sun Oct 23 2011 22:06:49 for EquTemper by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </li>
   </ul>
 </div>
</body>
</html>
